package dao

import (
	"time"
)

// 这是 OmsOrderOperateHistory 的全局公开dao对象，被service层调用!
var OmsOrderOperateHistoryDao = omsOrderOperateHistoryDao{}

// 这是 oms_order_operate_history表 的实体类
type OmsOrderOperateHistory struct {
	CreateTime  time.Time `json:"create_time" form:"create_time" v:"create_time"` // 操作时间
	Id          int64     `json:"id" form:"id" v:"id"`
	Note        string    `json:"note" form:"note" v:"note"`                         // 备注
	OperateMan  string    `json:"operate_man" form:"operate_man" v:"operate_man"`    // 操作人：用户；系统；后台管理员
	OrderId     int64     `json:"order_id" form:"order_id" v:"order_id"`             // 这是一个逻辑外键,关联oms_order(id)订单id
	OrderStatus int32     `json:"order_status" form:"order_status" v:"order_status"` // 订单状态：0-&gt;待付款；1-&gt;待发货；2-&gt;已发货；3-&gt;已完成；4-&gt;已关闭；5-&gt;无效订单

}

// 注意:这是 OmsOrderOperateHistory 的私有dao对象，只能在dao层内使用!
type omsOrderOperateHistoryDao struct {
	InsertTemplate func(arg OmsOrderOperateHistory) (int64, error)                               //插入一条记录
	UpdateTemplate func(arg OmsOrderOperateHistory) (int64, error)                               //更新一条记录
	DeleteTemplate func(id int64) (int64, error)                                                 `args:"id"`                         //根据传入的主键删除一条记录
	SelectTemplate func(id int64) (OmsOrderOperateHistory, error)                                `args:"id"`                         //根据传入的主键获取一条记录
	List           func(keyword string, pageNum, pageSize int) ([]OmsOrderOperateHistory, error) `args:"keyword,page_num,page_size"` //模糊分页查询
}

/*
// 这是 oms_order_operate_history 表的Postman测试参数
// 该结构体中的字段就是: 前后端交互的json字段!
type OmsOrderOperateHistoryPostman struct {
create_time
id
note
operate_man
order_id
order_status

}*/

// 这是 oms_order_operate_history 表的批量请求参数
type OmsOrderOperateHistoryReq struct {
	List []OmsOrderOperateHistory `json:"list" form:"list"`
}
